﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Util.ZPLPrinter
{
    // 1.0.1 - 2022-08-30 12:03:12
    // 完善常用的全角符号

    /// <summary>
    /// Util.ZPLPrinter 的 StringHelper
    /// </summary>
    public class StringHelper
    {
        /// <summary>
        /// 统计字符串在ANSI编码的长度
        /// </summary>
        /// <param name="content">待统计字符串信息</param>
        /// <returns></returns>
        public static int CountANSILength(string content)
        {
            int charCount = 0;
            for (int i = 0; i < content.Length; i++)
            {
                char j = content[i];
                ushort s = j;

                if (s >= 0x4E00 && s <= 0x9FA5) { charCount += 2; } // 中文的编码的+2
                                                                    // 0xFEFF -- 是Unicode的BOM头
                else if (s >= 0xFF00 && s < 0xFF65) { charCount += 2; } // 全角标点符号 + 全角数字 + 全角大小写英文字母
                else if (s == 0xFFE5) { charCount += 2; } // 人民币符号

                else { charCount += 1; }         // 非中文编码的+1

            }
            return charCount;
        }
    }
}
